Full, Differential, এবং Transaction Log Backup গাইড ও নোট

Microsoft Technologies - এমএস এসকিউএল সার্ভার (MS SQl Server) - Backup এবং Recovery Techniques
260

SQL Server-এ ডেটাবেসের ব্যাকআপ একটি গুরুত্বপূর্ণ প্রক্রিয়া যা ডেটাবেসের সুরক্ষা এবং রিকভারি নিশ্চিত করে। Full, Differential, এবং Transaction Log ব্যাকআপ হল SQL Server-এর তিনটি প্রধান ব্যাকআপ প্রকার, যা ডেটাবেসের বিভিন্ন স্তরের ব্যাকআপ তৈরি করতে ব্যবহৃত হয়। এই ব্যাকআপগুলো মূলত ডেটা রিকভারি পরিকল্পনার (Disaster Recovery Plan) অংশ এবং ডেটাবেস ম্যানেজমেন্টের জন্য অপরিহার্য।


1. Full Backup (ফুল ব্যাকআপ)

Full Backup হল একটি ডেটাবেসের সম্পূর্ণ ব্যাকআপ, যা ডেটাবেসের সমস্ত ডেটা, অবজেক্ট এবং লগ ফাইল অন্তর্ভুক্ত করে। এটি ডেটাবেসের সমস্ত তথ্য এবং কাঠামো (ইন্ডেক্স, টেবিল, ভিউ, প্রোসিডিওর ইত্যাদি) ব্যাকআপ নেয় এবং এটি একটি সম্পূর্ণ কপি তৈরি করে।

1.1. Full Backup এর সুবিধা

  • ডেটাবেসের সম্পূর্ণ কপি: এটি ডেটাবেসের সমস্ত ডেটা, অবজেক্ট এবং ট্রানজেকশন লগের একটি পূর্ণ কপি তৈরি করে।
  • রিকভারি সহজ: যদি আপনার ডেটাবেসের সব কিছু হারিয়ে যায়, তাহলে আপনি সহজেই একটি ফ্রেশ ডেটাবেস রিকভারি করতে পারেন এই ব্যাকআপ থেকে।
  • সবশেষ অবস্থা রিকভারি: এটি ডেটাবেসের শেষ ব্যাকআপের অবস্থা কনসোলিডেট করে।

1.2. Full Backup তৈরি করা

BACKUP DATABASE [DatabaseName]
TO DISK = 'C:\Backup\DatabaseName_full.bak'
WITH FORMAT, MEDIANAME = 'DatabaseFullBackup', NAME = 'Full Backup of DatabaseName';

এই কমান্ডটি DatabaseName ডেটাবেসের একটি full backup তৈরি করবে এবং সেটি C:\Backup\DatabaseName_full.bak ফাইলে সংরক্ষণ করবে।


2. Differential Backup (ডিফারেনশিয়াল ব্যাকআপ)

Differential Backup শুধুমাত্র সেই ডেটাবেস পরিবর্তনগুলো ব্যাকআপ নেয় যা last full backup এর পর পরিবর্তিত হয়েছে। অর্থাৎ, এটি শুধুমাত্র সেই ডেটার কপি তৈরি করে যা পূর্ববর্তী পূর্ণ ব্যাকআপের পর আপডেট হয়েছে।

2.1. Differential Backup এর সুবিধা

  • স্টোরেজ স্পেস কম প্রয়োজন: ফুল ব্যাকআপের তুলনায়, ডিফারেনশিয়াল ব্যাকআপে কম স্পেস প্রয়োজন কারণ এটি শুধু পরিবর্তিত ডেটা ব্যাকআপ নেয়।
  • রিপিড রিকভারি: যদি আপনি দ্রুত রিকভারি চান, তবে ফুল ব্যাকআপ এবং সর্বশেষ ডিফারেনশিয়াল ব্যাকআপের সংমিশ্রণ সবচেয়ে দ্রুত রিকভারি প্রদান করে।

2.2. Differential Backup তৈরি করা

BACKUP DATABASE [DatabaseName]
TO DISK = 'C:\Backup\DatabaseName_diff.bak'
WITH DIFFERENTIAL, MEDIANAME = 'DatabaseDiffBackup', NAME = 'Differential Backup of DatabaseName';

এই কমান্ডটি DatabaseName ডেটাবেসের একটি differential backup তৈরি করবে এবং সেটি C:\Backup\DatabaseName_diff.bak ফাইলে সংরক্ষণ করবে।


3. Transaction Log Backup (ট্রানজেকশন লগ ব্যাকআপ)

Transaction Log Backup হল ডেটাবেসের transaction log এর একটি ব্যাকআপ যা সমস্ত ট্রানজেকশন এবং ডেটাবেসের পরিবর্তন (INSERT, UPDATE, DELETE) রেকর্ড করে। এটি শুধুমাত্র সেই পরিবর্তনগুলোর ব্যাকআপ নেয় যা সম্পন্ন হয়েছে এবং ডেটাবেসের রিকভারি পয়েন্ট নির্ধারণে সাহায্য করে।

3.1. Transaction Log Backup এর সুবিধা

  • Point-in-time রিকভারি: Transaction log ব্যাকআপ আপনাকে একটি নির্দিষ্ট সময়ে ডেটাবেসকে পুনরুদ্ধার করতে সহায়তা করে (যেমন একটি নির্দিষ্ট ট্রানজেকশন বা কার্যক্রমের পরের অবস্থা)।
  • ডেটা রিকভারি পরবর্তী অবস্থা: যদি একটি পূর্ণ ব্যাকআপের পর কোনো ভুল বা সমস্যা ঘটে, আপনি আগের সঠিক অবস্থায় ফিরে যেতে পারবেন ট্রানজেকশন লগ ব্যাকআপ ব্যবহার করে।

3.2. Transaction Log Backup তৈরি করা

BACKUP LOG [DatabaseName]
TO DISK = 'C:\Backup\DatabaseName_log.trn'
WITH NAME = 'Transaction Log Backup of DatabaseName';

এই কমান্ডটি DatabaseName ডেটাবেসের একটি transaction log backup তৈরি করবে এবং সেটি C:\Backup\DatabaseName_log.trn ফাইলে সংরক্ষণ করবে।


4. ব্যাকআপ স্ট্র্যাটেজি নির্বাচন

SQL Server-এ ব্যাকআপ স্ট্র্যাটেজি নির্বাচন করা আপনার ডেটাবেসের আকার, প্রয়োজনীয়তা এবং পারফরম্যান্সের উপর নির্ভর করে। নিম্নলিখিত স্ট্র্যাটেজি দুটি খুবই জনপ্রিয়:

4.1. পূর্ণ ব্যাকআপ + ডিফারেনশিয়াল ব্যাকআপ + ট্রানজেকশন লগ ব্যাকআপ

  • প্রথমে Full Backup নিন, তারপর নিয়মিত Differential Backup নিন, এবং প্রতি ১০-১৫ মিনিটে Transaction Log Backup করুন।
  • এটি আপনাকে দ্রুত পুনরুদ্ধার এবং সর্বশেষ সময়ের ডেটা পুনরুদ্ধার করতে সহায়তা করবে।

4.2. শুধুমাত্র Transaction Log ব্যাকআপ (High-Availability Systems)

  • যদি আপনার ডেটাবেসে খুব বেশি পরিবর্তন হয় এবং কম সময়ের মধ্যে রিকভারি প্রয়োজন হয়, তবে শুধুমাত্র Transaction Log Backup ব্যবহার করতে পারেন। তবে, এই পদ্ধতিতে প্রথমে একটি Full Backup এবং পরে Transaction Log Backups নেয়ার নিয়ম পালন করতে হবে।

5. ব্যাকআপ রিকভারি

ব্যাকআপের সাহায্যে ডেটাবেস রিকভারির জন্য, আপনি নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে পারেন:

  1. Full Backup: প্রথমে সম্পূর্ণ ব্যাকআপ রিকভারি করুন।

    RESTORE DATABASE [DatabaseName]
    FROM DISK = 'C:\Backup\DatabaseName_full.bak';
    
  2. Differential Backup (যদি থাকে): পূর্ণ ব্যাকআপের পর ডিফারেনশিয়াল ব্যাকআপ রিকভারির জন্য:

    RESTORE DATABASE [DatabaseName]
    FROM DISK = 'C:\Backup\DatabaseName_diff.bak'
    WITH NORECOVERY;
    
  3. Transaction Log Backup: যদি ট্রানজেকশন লগ ব্যাকআপ থাকে, তবে সেগুলো পুনরুদ্ধার করুন:

    RESTORE LOG [DatabaseName]
    FROM DISK = 'C:\Backup\DatabaseName_log.trn'
    WITH RECOVERY;
    

এই প্রক্রিয়ায়, আপনি Full, Differential, এবং Transaction Log ব্যাকআপগুলো থেকে ডেটাবেস রিকভার করতে পারেন, এবং point-in-time recovery নিশ্চিত করতে পারবেন।


সারাংশ

Full, Differential, এবং Transaction Log ব্যাকআপের সাহায্যে SQL Server ডেটাবেসের রিকভারি পরিকল্পনা (Disaster Recovery Plan) কার্যকরভাবে তৈরি করা সম্ভব। এটি ডেটা হারানো, ডেটাবেস ক্র্যাশ বা ত্রুটি ঘটলে পুনরুদ্ধারের একটি নির্ভরযোগ্য পদ্ধতি প্রদান করে। আপনি সঠিক ব্যাকআপ স্ট্র্যাটেজি অনুসরণ করে আপনার ডেটাবেসের নিরাপত্তা এবং স্থিতিশীলতা নিশ্চিত করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...